Digital instruments are used to test and analyze signals from electrical and electronic devices and systems. One example of a digital instrument is a real time digital oscilloscope. Real time digital oscilloscopes operate by digitizing closely spaced consecutively sampled values of an input signal, storing the digital samples in a memory, and then re-constructing the waveform as a displayable image (the “trace”) on a display device by reading and processing the stored digital samples. We shall call the stored digital samples an “acquisition record” and note that its contents correspond to a definite time interval in the history of the input signal's behavior. The length of that time interval is largely determined by the number of addressable memory locations devoted to the signal's acquisition (the memory's “depth”) and the rate at which the digital samples are acquired. That sample rate should be high enough to meet Nyquist sampling and bandwidth requirements.
It often happens that the acquisition record contains many times more digital samples than are displayed at any one time, allowing the operator to select as the displayed trace a size (degree of zoom) and location (panning) of a subset of the acquisition record. To support panning and zooming, and because the sampled values generally have an arbitrary relationship to the horizontal pixel positions in the display, the digitized data stored in the acquisition record may be algorithmically processed to produce a graphics image in a display buffer, from whence is created a display trace. That is, the data is not displayed immediately while the variations in its corresponding input signal are occurring. Only the taking of the samples is performed in real time, and once they are stored the display is a low speed representation of what the oscilloscope remembers having sampled. Furthermore, those digital samples in the acquisition record that correspond to the displayed trace are not necessarily the same in number as the number of horizontal pixel positions in the display, and digital signal processing techniques are commonly used to produce equivalent Y amplitude values that most probably would have been measured had there been true alignment between the consecutive samples and the horizontal pixel positions. This rendering operation is essentially a process of interpolation.
Furthermore, the vast majority of oscillographic activities require that the displayed portion of the acquisition record be in some “defined relation” to a detected event originating outside the oscilloscope, whether that is a particular type of signal condition or transition occurring in the signal being measured, or a condition or transition in some other signal that is related to the signal being measured. The detection and operational response to this “defined relation” is called triggering; in the first case it is termed “internal” triggering, and the detected event is referred to as a “trigger event.”
When viewing a recurrent waveform in the “normal” mode, triggering is what allows the trace to “stand still” for viewing.
An oscilloscope's trigger function is important to achieve clear signal characterization, as it synchronizes the horizontal sweep of the oscilloscope to the proper point of the signal. The trigger control enables users to stabilize repetitive waveforms. By repeatedly displaying similar portion of the input signal, the trigger makes repetitive waveform look static. The displayed trace may represent waveform activity that preceded the trigger, occurred after the trigger, or some combination of the two.
Oscilloscopes offer various types of trigger functions, with edge triggering is the most basic and common type.
Digital oscilloscopes, however, feature numerous specialized trigger settings not otherwise available in analog oscilloscopes. These triggers enable users to easily detect, for instance, a pulse that is narrower than usual. Such a condition would not be detected by a voltage threshold trigger only.
Advance trigger controls allow users to isolate events of interest to enhance the oscilloscope's record length and sample rate. Some oscilloscopes even offer advanced triggering capabilities with highly selective control, allowing users to trigger on pulses defined by time (such as glitch, pulse width, setup-and-hold, slew rate and time-out), defined by amplitude (runt pulses), and delineated by pattern or logic state (such as logic triggering). If the trigger location is included in the visible portion of the acquisition record, then it is customary to indicate its location in the trace with some stylized indicia.
Since digital sample acquisition and trigger acquisition have different paths within the oscilloscope, there is an inherent time delay between the acquired digital samples and the trigger position, which results in skew and trigger jitter. Jitter is noise in the temporal or timing domain. In particular, trigger jitter may be defined as a short-term variation in a significant instant of a timing signal (e.g., the instant where the triggering event occurs in a trigger signal) from its ideal position in time. The causes of trigger jitter are the same as for other sources of random jitter: varying temperature, imperfect components, and external noise sources. Trigger jitter is often specified for a given digital oscilloscope model, and may be on the order of a few picoseconds or less.
Should the detection of the trigger condition occur at slightly varying times relative to the actual event to which it is supposed to correspond (which might be, say, an abruptly rising edge or simply a crossing of a threshold in a selected direction), then the trace will not stand still, but will appear to slide back and forth along the time axis by the amount of variation. The variation in the appearance of the trace that can be traced to such instability is called “trigger jitter.”
Trigger jitter can generally be observed for any sufficiently fast repetitive signal. It arises out of the (inevitable and unavoidable) trigger delay between: (a) when the trigger condition in the signal being measured actually occurs; and, (b) when an internal trigger signal indicative of that condition becomes available and is subsequently used within the oscilloscope. If the delay from (a) to (b) is always the same, then there is no trigger jitter, even though the slight trigger delay manifests itself as some constant offset. Alas, there are several causes for trigger jitter that are hard to eliminate. The bottom line is that various circuit parameters will drift, especially as function of temperature, and circuits, especially threshold circuits, are susceptible to noise.
There is yet one more background topic of interest concerning triggering. It will be appreciated that the triggering event is under no obligation to occur in simultaneity with a taking of a digital sample of the input signal. Note that the acquisition record amounts to a time axis along which are placed the various real time digital samples. What is done for each trigger event, then, is to take note of some time difference between that trigger event and some cardinal aspect of the time axis for the samples. Say, the trigger falls between sample numbers n and n+1. Then it is useful to note that the trigger occurred r-many picoseconds after sample number n, or s-many picoseconds before sample number n+1. This is an established technique that generally goes by the name “trigger interpolation” (the alternative to which is to simply assign the trigger event to one of the two samples). There may be some jitter in successive trigger interpolation values themselves during a free running display of the trace, although it is generally less than the sample-to-sample interval. Nevertheless, as a process conditioned upon the triggering process generally, jitter in the trigger interpolation values will manifest itself as an additional source of trigger jitter in the displayed trace for a sequence of consecutive acquisition sample records.
The result is that, unless other provisions are made, consecutive acquisition records would be misaligned from one another by the amount of overall trigger jitter, which would be clearly visible in the normal mode trace for a sufficiently fast repetitive input signal.
Various solutions to the problems of horizontal jitter in digital oscilloscopes have been developed. For example, U.S. Pat. No. 6,753,677 discloses systems and methods which determine the precise location in the acquisition record where the triggering event should have occurred. This allows the determination of a correct and jitter free horizontal trigger position value. The disclosed techniques rely on standard triggering hardware to locate the waveform's trigger event to within some small error, perhaps 1 ns or less, and process the acquired data acquired around the trigger event, optionally correcting the signal for the various impairments in the channel's signal path, and then locate the time of the trigger threshold being crossed in the data, using this value for plotting, measurements, and any further signal processing. This reduction or elimination of visible trigger jitter is referred to herein as “jitter-free” display and is also beneficial to measurements made on the displayed trace.
However, in some cases the trigger jitter elimination or reduction techniques, such as disclosed in U.S. Pat. No. 6,753,677, can take a significant amount of time. For example, the trigger jitter correction circuits operate by retrieving some or all of the acquisition record from the acquisition memory, processing the retrieved data (which may take some considerable time), and then determining the “jitter free” trigger position from the processed data. Once the “jitter free” trigger position is determined, the acquisition record is then retrieved a second time from the acquisition memory, now aligned with the timing of the “jitter free” trigger, and processed again, this second time for display. Accordingly, it would be desirable to provide techniques for reducing or eliminating trigger jitter in a digital oscilloscope which can more quickly produce a visible trigger fitter free display of acquired data.